/**
 * 
 */
package rmi;


import java.rmi.RemoteException;
import java.util.HashMap;



import contenedorSpring.Contenedor;
import stub.IControlRemoto;

/**
 * @author Elkin Torres
 * 
 */
public class ClienteRMI {
	private HashMap<String, IControlRemoto> servicios = new HashMap<String, IControlRemoto>();

	public void consumirServicoControlRemoto(String ip, Boolean acceso) throws RemoteException {
		if(!servicios.containsKey(ip) ){
			IControlRemoto servicio = (IControlRemoto) Contenedor.getSingleton().getApplicationContext().getBean(ip);
			servicios.put(ip, servicio);
			servicio.navegarAplicacion(acceso);
		}
		else
		{
			servicios.get(ip).navegarAplicacion(acceso);
		}
	}
	
	public Boolean exixteEstudiante(String ip){
		return servicios.containsKey(ip);
	}
	
	public IControlRemoto getServicio(String ip){
		return servicios.get(ip);
	}
	
	public HashMap<String, IControlRemoto> getServicios(){
		return servicios;
	}
	/*public void consumirServicoControlRemoto(String ip, Boolean acceso) throws RemoteException {
		if (System.getSecurityManager() == null){
			System.setSecurityManager(new RMISecurityManager());
			System.out.println("crea seguridad, estudiante");
		}
		String url = "rmi://" + ip + ":5001/RMIServicioEscritorioRemoto";
		RmiProxyFactoryBean factory = new RmiProxyFactoryBean();
		factory.setServiceInterface(IControlRemoto.class);
		factory.setServiceUrl(url);
		try
	     {
			factory.prepare();
	        factory.afterPropertiesSet();
	     }
	     catch (Exception e)
	     {
	        System.out.println("unable to create callback proxy");
	        System.out.println(e);
	     }
		servicios.put(ip, (IControlRemoto) factory.getObject());
		servicios.get(ip).navegarAplicacion(acceso);
	}*/
}